package io.github.wppli.domain.posts.service;

import io.github.wppli.domain.posts.model.entity.CollectPostsEntity;
import io.github.wppli.domain.posts.model.entity.PostEntity;
import io.github.wppli.domain.posts.model.entity.PublishPostsEntity;
import io.github.wppli.domain.posts.model.entity.LikePostsEntity;
import io.github.wppli.domain.recommond.model.entity.PostsContentEntity;

import java.util.List;

/**
 * @author li--jiaqiang 2025−03−11
 */
public interface IPostsService {
    void publishPosts(PublishPostsEntity publishPostsEntity);

    List<PostEntity> listPosts(Long authorId);

    PostEntity getPosts(Long postId);

    void deletePosts(Long postId, Long authorId);

    void likePosts(LikePostsEntity likePostsEntity);

    void unLikePosts(LikePostsEntity likePostsEntity);

    void collectPosts(CollectPostsEntity collectPostsEntity);

    void unCollectPosts(CollectPostsEntity collectPostsEntity);

    List<PostsContentEntity> queryAll();
}